www.gusucode.com > XerCMS 携云PHP企业建站程序 v2015PHP源码程序 > XerCMS 携云PHP企业建站程序 v2015/XerCMS_v20150724/XerCMS_v20150724/XerCMS/Utils/tables/XerCMS_member.php

    <?php
/**
 * @name     XERCMS
 * @author   Arno <XerCMS@163.com> [QQ:1328013]
 * @version  1.0.0
 * @link     http://www.XerCMS.com
 */

!defined('XERCMS') && exit('Access Denied');

class TABLE_member extends resource
{
     private $data = NULL;
     private $defaultTable = 'xercms_member';
	 
	function __construct() {
	 	$this->table = $this->defaultTable;
	} 
	 
     function verify($name,$pass) {
	 	$this->data = $this->table('xercms_member')->where(array('name'=>$name))->select(1);
          if(isset($this->data['uid'])) {
		     $error = $this->table('xercms_error_login')->where(array('uid'=>$this->data['uid']))->select(1);
			if(isset($error['num']) && $error['num'] > 5) {
                    if($error['time'] + 600 > X::$G['time']) {
                         return -1;
                    } else {
                         rs('member')->table('xercms_error_login')->where('`time` > '.(X::$G['time'] - 600))->update(array('num'=>0));
                    }
			}
		 	if($this->data['pass'] == $pass) {
		      	return $this->data['uid'];
		 	} else $this->error($this->data['uid'],$error['num']);
		     return -2;
		} else return 0;
	}
	 
     function updateProfile($data) {
          $this->table .= '_profile';
          $this->update($data);
     }
      
	function login($uid,$admin = false) {     
	     $member = $this->info($uid);
	 	$member['CYK'] = $admin ? true : false;
		$member['ip']  = X::$G['ip'];
		$member['time']  = X::$G['time'];
		session($member);
		$this->table('xercms_member_session')->where(array('uid'=>$member['uid']))->update(array('ip'=>X::$G['ip'],'time'=>X::$G['time'],'key'=>session::id()));
 	 	$credits = $this->table('xercms_member_credits')->where(array('uid'=>$member['uid']))->select(1);
          /*unset($credits['uid']);
          //print_r($credits);exit;*/
          $data['credits'] = X::$G['credits'];
          foreach($credits as $k=>$v) {
               $data['credits'][strtr($k,array('credit'=>''))]['val'] = $v;
          }           
		session($data);
		return true;
	}
	 
	function error($uid,$number) {  
		$this->table('xercms_error_login')->where(array('uid'=>$uid))->update(array('time'=>X::$G['time'],'num'=>($number + 1)));
	}
	 
	function pass($str,$uid = 0) {	     
	     if(empty($uid))
		     $uid = X::$G['uid'];
          return $this->table('xercms_member')->where(array('uid'=>$uid))->update(array('pass'=>md5($str)));			 
	}

	function setting($uid = 0) {
		return $this->table('xercms_member_setting')->where(array('uid'=>$uid))->select(1);	
	}	 
	 
	function info($uid = 0) {    
	     if(empty($uid))
		     $uid = X::$G['uid'];
		if(!empty($uid)) //~
		     return $this->table('xercms_member_profile')->where(array('uid'=>$uid))->select(1);	
	}
}
?>